#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct TRIA3StrainData
{
    SG::DataStructure::Common::Id   m_eId      = 0;    /// Element identification number
    SG::DataStructure::Common::Real m_FD1      = 0.0;  /// Z1 = Fiber distance
    SG::DataStructure::Common::Real m_X1       = 0.0;  /// Normal in X         at Z1
    SG::DataStructure::Common::Real m_Y1       = 0.0;  /// Normal in Y         at Z1
    SG::DataStructure::Common::Real m_TXY1     = 0.0;  /// Shear  in xy        at Z1
    SG::DataStructure::Common::Real m_FD2      = 0.0;  /// Z2 = Fiber distance
    SG::DataStructure::Common::Real m_X2       = 0.0;  /// Normal in X         at Z2
    SG::DataStructure::Common::Real m_Y2       = 0.0;  /// Normal in Y         at Z2
    SG::DataStructure::Common::Real m_TXY2     = 0.0;  /// Shear  in xy        at Z2
    SG::DataStructure::Common::Id   m_domainId = 0;    /// Domain identifier
};

///< @brief 判断数据是否相等
DECLSPEC bool operator== (const TRIA3StrainData& val1, const TRIA3StrainData& val2);

///< @brief 排序使用
DECLSPEC bool operator< (const TRIA3StrainData& a, const TRIA3StrainData& b);

SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
